package br.com.insight.consultoria.negocio.bo;

import java.util.List;

import br.com.insight.consultoria.entity.UnidadeFederativa;
import br.com.insight.consultoria.erro.exception.InsightConstants;
import br.com.insight.consultoria.erro.exception.InsightException;
import br.com.insight.consultoria.erro.exception.SistemaException;
import br.com.insight.consultoria.integracao.dao.interfacedao.UnidadeFederativaDAO;
import br.com.insight.consultoria.negocio.bo.interfacebo.UnidadeFederativaBO;

public class UnidadeFederativaImpBO implements UnidadeFederativaBO{
	
	private UnidadeFederativaDAO federativaDAO;

	public List<UnidadeFederativa> listaUnidadeFederativa()throws InsightException{
		
		try{
		
		return getFederativaDAO().listaUnidadeFederativa();
		
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
	}
	
	@Override
	public UnidadeFederativa getUnidadeFederativa(Long id)
			throws InsightException {
		
		UnidadeFederativa federativa=null;
		
	try{	
		
		federativa=getFederativaDAO().getUnidadeFederativa(id);
		
	}catch(InsightException exception){
		
		throw exception;
		
	}catch(Exception exception){
		
		throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
		
	}
		
		return federativa;
	}
	
	public UnidadeFederativaDAO getFederativaDAO() {
		return federativaDAO;
	}

	public void setFederativaDAO(UnidadeFederativaDAO federativaDAO) {
		this.federativaDAO = federativaDAO;
	}

}
